package com.situ.personal.controller;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.situ.personal.entity.User;
import com.situ.personal.service.UserService;

@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet{
	private UserService userService = new UserService();
	
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		/**
		 * 	接收login.jsp传过来的 数据
		 * 	传给Service层做验证处理
		 * 	把找到的数据(比对成功) 封装到user对象里面去，，，，有没有找到都放进user,找到有数据，没找到里面是null
		 * 	判断user的账号 密码 的值是不是null  
		 * 	// 这里  必须 比较 账号 密码 的值 是不是 空，，
		 * 			因为SQL里哪怕没查到， new user(null,null);  哪怕值是空，user这个对象已经被new出来了，user本身不是空
		 * 	是 重定向fail.jsp-->login.jsp重新登录 (没找到)
		 * 	不是 ,user放到Session里面,表示当前已经登录，此次req任务结束，重定向UserServlet里面，method=findByPage展示信息 (找到了)
		 */
		String name = req.getParameter("name");
		String password = req.getParameter("password");
		
		User user = userService.isLogin(name,password);
		System.out.println("LoginServlet: 验证数据库   查询到的账户密码："+user);
		
		
		//  这里  必须 比较 账号 密码 的值 是不是 空，，因为SQL里哪怕没查到，
		//   new user(null,null);  哪怕值是空，user这个对象已经被new出来了，user本身不是空
		//if(user.getName() == null && user.getPassword() == null || "".equals(user.getName()) && "".equals(user.getPassword())) {
		if(user == null) {
			System.out.println("账号或者密码输入错误");
			resp.sendRedirect(req.getContextPath()+"/fail.jsp"); 
		}else {
			HttpSession httpSession = req.getSession(); // 1.服务器 创建一块Seisoon空间
			httpSession.setAttribute("user", user); // 2.把user放进去Seisoon空间，说明登陆成功
			System.out.println("登陆成功");
			resp.sendRedirect(req.getContextPath() + "/user?method=findByPage");
		}
		
	}// service
}
